package com.zmc.product.infrastructure.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zmc.common.utils.PageUtils;
import com.zmc.common.vo.ProductSkuVo;
import com.zmc.product.infrastructure.bean.vo.GoodsEsVo;
import com.zmc.product.infrastructure.entity.CommodityGoodsSkuEntity;
import com.zmc.product.infrastructure.bean.query.CommodityGoodsSkuQuery;
import com.zmc.product.infrastructure.bean.vo.GoodSkuVo;

import java.util.List;

/**
 * 商品sku信息
 *
 * @author zmc
 * @email 
 * @date 2024-10-14 18:43:35
 */
public interface CommodityGoodsSkuService extends IService<CommodityGoodsSkuEntity> {

    Page<CommodityGoodsSkuEntity> pageCommodityGoodsSkuList(CommodityGoodsSkuQuery query);

    List<CommodityGoodsSkuEntity> selectCommodityGoodsSkuList(CommodityGoodsSkuQuery query);

    GoodSkuVo getSkuInfoBySkuId(String skuId);

    PageUtils pageGoodsSkuList(CommodityGoodsSkuQuery query);


    List<CommodityGoodsSkuEntity> getBySpuId(String spuId);

    List<ProductSkuVo> collect(List<String> skuIds);

    CommodityGoodsSkuEntity getBySkuId(String skuId);

    List<GoodsEsVo> getBySkuIds(List<String> skuIds);

    void removeBySpuId(String spuId);

    void removeBySkuId(String skuId);

    Long countBySpuId(String spuId);

}

